package com.ruoyi.invoice.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.invoice.domain.SalesInvoiceDetail;

/**
 * 销项发票明细Mapper接口
 * 
 * @author ruoyi
 * @date 2025-03-06
 */
public interface SalesInvoiceDetailMapper extends BaseMapper<SalesInvoiceDetail>
{
    /**
     * 查询销项发票明细
     * 
     * @param detailId 销项发票明细主键
     * @return 销项发票明细
     */
    public SalesInvoiceDetail selectSalesInvoiceDetailByDetailId(Long detailId);

    /**
     * 查询销项发票明细列表
     * 
     * @param salesInvoiceDetail 销项发票明细
     * @return 销项发票明细集合
     */
    public List<SalesInvoiceDetail> selectSalesInvoiceDetailList(SalesInvoiceDetail salesInvoiceDetail);

    /**
     * 新增销项发票明细
     * 
     * @param salesInvoiceDetail 销项发票明细
     * @return 结果
     */
    public int insertSalesInvoiceDetail(SalesInvoiceDetail salesInvoiceDetail);

    /**
     * 修改销项发票明细
     * 
     * @param salesInvoiceDetail 销项发票明细
     * @return 结果
     */
    public int updateSalesInvoiceDetail(SalesInvoiceDetail salesInvoiceDetail);

    /**
     * 删除销项发票明细
     * 
     * @param detailId 销项发票明细主键
     * @return 结果
     */
    public int deleteSalesInvoiceDetailByDetailId(Long detailId);

    /**
     * 批量删除销项发票明细
     * 
     * @param detailIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSalesInvoiceDetailByDetailIds(Long[] detailIds);
}
